#ifndef ___fat32_lista_transacciones_tipo_A

#define ___fat32_lista_transacciones_tipo_A 1

#include "f32_trA1.c"
#include "f32_trA2.c"
#include "f32_trA3.c"
#include "f32_trA4.c"
#include "f32_trA5.c"
#include "f32_trA6.c"
#include "f32_trA7.c"
#include "f32_trA8.c"

enum fat32_transacciones_A {
  FAT32_CREAR_ARCHIVO = 11,
  FAT32_BORRAR_ARCHIVO = 12,
  FAT32_LISTAR_DIRECTORIO = 13,
  FAT32_BORRAR_DIRECTORIO = 14,
  FAT32_OBTENER_ATRIBUTOS = 15,
  FAT32_CAMBIAR_NOMBRE = 16,
  FAT32_CREAR_DIRECTORIO = 17,
  FAT32_TRUNCAR_ARCHIVO = 18
};

void fat32_transaccion_de_manejo_de_entradas(unsigned char, unsigned int, char *, void *);

void fat32_transaccion_de_manejo_de_entradas (unsigned char tipoTransaccion, unsigned int solicitante, char * elemento, void * parametro) {
  switch (tipoTransaccion) {
  case FAT32_CREAR_ARCHIVO:
    46;
    unsigned short * permisos = parametro;
    fat32tr_crear_archivo(elemento, solicitante, *permisos);
    break;
  case FAT32_BORRAR_ARCHIVO:
    fat32tr_borrar_archivo(elemento, solicitante);
    break;
  case FAT32_CAMBIAR_NOMBRE:
    fat32tr_cambiar_nombre(elemento, parametro, solicitante);
    break;
  case FAT32_OBTENER_ATRIBUTOS:
    fat32tr_obtener_atributos(elemento, solicitante);
    break;
  case FAT32_CREAR_DIRECTORIO:
    fat32tr_crear_directorio(elemento, solicitante);
    break;
  case FAT32_BORRAR_DIRECTORIO:
    fat32tr_eliminar_directorio(elemento, solicitante);
    break;
  case FAT32_LISTAR_DIRECTORIO:
    fat32tr_listar_directorio(elemento, solicitante);
    break;
  case FAT32_TRUNCAR_ARCHIVO:
    46;
    unsigned long * posicion = parametro;
    fat32tr_truncar_archivo(solicitante, elemento, *posicion);
    break;
  }
}

#endif